home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freelog 115
/
FreelogNo115-MaiJuin2013.iso
/
Internet
/
Filezilla Server
/
FileZilla_Server-0_9_41.exe
/
source
/
hash_thread.h
< prev
next >
Wrap
C/C++ Source or Header
|
2011-11-06
|
930b
|
57 lines
#ifndef __HASHTHREAD_H__
#define __HASHTHREAD_H__
class CServerThread;
class CHashThread
{
public:
enum _result
{
OK = 0,
PENDING = 1,
BUSY = 2,
FAILURE_OPEN = 4,
FAILURE_READ = 8,
FAILURE_MASK = 12
};
enum _algorithm
{
MD5,
SHA1,
SHA512
};
CHashThread();
virtual ~CHashThread();
enum _result Hash(LPCTSTR file, enum _algorithm algorithm, int& id, CServerThread* server_thread);
enum _result GetResult(int id, CHashThread::_algorithm& alg, CStdString& hash, CStdString& file);
void Stop(CServerThread* server_thread);
private:
void DoHash();
void Loop();
static DWORD WINAPI ThreadFunc(LPVOID pThis);
LPTSTR m_filename;
CServerThread* m_server_thread;
CCriticalSectionWrapper m_sync;
bool m_quit;
int m_id;
int m_active_id;
enum _result m_result;
char* m_hash;
enum _algorithm m_algorithm;
HANDLE m_hThread;
};
#endif